algebraic manipulatuion